/*
Copyright 2008  Four Roads LLC conact@4-roads.com

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either 
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public 
License along with this library.  If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Collections;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CommunityServer.Components;
using CommunityServer.Controls;
using ResourceManager = FourRoads.Links.Controls.ResourceManager;
namespace FourRoads.Links.Controls
{
	/// <summary>
	/// Summary description for SuggestLinkButton.
	/// </summary>
	public class SuggestLinkButton: ResLinkBaseTemplatedWebControl
	{
		#region Child Controls
			HtmlGenericControl	_SuggestSection = null;
			ModalLink	_SugestLinkButton = null;
		#endregion
		protected override void AttachChildControls()
		{
			_SuggestSection = FindControl("SuggestLinkBox") as HtmlGenericControl;
			_SugestLinkButton = FindControl("SuggestLinkBtn") as ModalLink;
		}

		protected override void OnLoad(EventArgs e)
		{
			base.OnLoad (e);

			DataBind();

			CreateSugestLinkScript();
		}

		public override void DataBind()
		{
			base.DataBind();

			if (ThisSection.EnableSuggestLink && this.AddLinksRight && ThisSection.SectionID > 0)
			{
				_SuggestSection.Visible = true;
			}
			else
			{
				_SuggestSection.Visible = false;
			}
			
			_SugestLinkButton.Url = ResLinkUrls.Instance().SuggestLink(ThisSection.SectionID);
		}
		public void CreateSugestLinkScript()
		{
			StringBuilder str = new StringBuilder();

			str.Append("<script language='javascript' type='text/javascript' >function linkSuggested(id){");
			//need to navigate back to this page but ad a postid so that it can be linked to using a bookmark
			//if its -1 then a status message will be shown
			str.AppendFormat("if (id != '0') window.location = '{0}#' + id;" , ResLinkUrls.Instance().ViewSection(ThisSection.SectionID));

			str.Append("}");
			str.Append("</script>");

			Page.RegisterClientScriptBlock("SuggestLinkCallBackFunc", str.ToString());
		}
	}
}
